home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- #
- # (c) Copyright Rick Richardson 2008
- # This version has been modified by Debian
-
- #
- # PLEASE don't remove the copyright statements. They should
- # be displayed to the human that is running this.
- #
-
- VERSION='$Id: getweb.in,v 1.89 2009/06/23 18:31:20 rick Exp $'
-
- WGETOPTS="--passive-ftp -q"
- ARM2HPDL="/usr/bin/arm2hpdl"
-
- if [ $(id -ru) -ne 0 ]; then
- echo "You need to be root"
- exit 0
- fi
-
-
- usage() {
- cat <<EOF
-
- Usage:
- ./getweb something
-
- Convenience script to get extra somethings from the web,
- such as ICC color profiles, firmware, PPD files, etc.
-
- $ ./getweb 1215 # Get HP Color LaserJet CP1215 .ICM files
- $ ./getweb 1500 # Get HP Color LaserJet 1500 .ICM files
- $ ./getweb 1600 # Get HP Color LaserJet 1600 .ICM files
- $ ./getweb 2600n # Get HP Color LaserJet 2600n .ICM files
-
- $ ./getweb 1600w # Get Konica Minolta 1600W .ICM files
- $ ./getweb 1680 # Get Konica Minolta 1680MF .ICM files
- $ ./getweb 1690 # Get Konica Minolta 1690MF .ICM files
- $ ./getweb 2480 # Get Konica Minolta 2480 MF .ICM files
- $ ./getweb 2490 # Get Konica Minolta 2490 MF .ICM files
- $ ./getweb 2530 # Get Konica Minolta 2530 DL .ICM files
- $ ./getweb 4690 # Get Konica Minolta 4690MF .ICM files
- $ ./getweb 6115 # Get Xerox Phaser 6115MFP .ICM files
-
- $ ./getweb 2200 # Get Minolta 2200 DL .ICM files
- $ ./getweb 2300 # Get Minolta 2300 DL .ICM files
- $ ./getweb 2430 # Get Konica Minolta 2430 DL .ICM files
- $ ./getweb cpwl # Get Minolta Color PageWorks/Pro L .ICM files
-
- $ ./getweb 300 # Get Samsung CLP-300 .ICM files
- $ ./getweb 310 # Get Samsung CLP-310 .ICM files
- $ ./getweb 315 # Get Samsung CLP-315 .ICM files
- $ ./getweb 600 # Get Samsung CLP-600 .ICM files
- $ ./getweb 610 # Get Samsung CLP-610 .ICM files
- $ ./getweb 2160 # Get Samsung CLX-2160 .ICM files
- $ ./getweb 3160 # Get Samsung CLX-3160 .ICM files
- $ ./getweb 3175 # Get Samsung CLX-3175 .ICM files
- $ ./getweb 6110 # Get Xerox Phaser 6110 and 6110MFP .ICM files
-
- $ ./getweb 500 # Get Lexmark C500 .ICM files
-
- $ ./getweb 3100 # Get Oki C3100 .ICM files
- $ ./getweb 3200 # Get Oki C3200 .ICM files
- $ ./getweb 3300 # Get Oki C3300 .ICM files
- $ ./getweb 3400 # Get Oki C3400 .ICM files
- $ ./getweb 3530 # Get Oki C3530 MFP .ICM files
- $ ./getweb 5100 # Get Oki C5100 / C5150n .ICM files
- $ ./getweb 5200 # Get Oki C5200 .ICM files
- $ ./getweb 5500 # Get Oki C5500 .ICM files
- $ ./getweb 5600 # Get Oki C5600 .ICM files
- $ ./getweb 5800 # Get Oki C5800 .ICM files
-
- $ ./getweb 1000 # Get HP LJ 1000 firmware file
- $ ./getweb 1005 # Get HP LJ 1005 firmware file
- $ ./getweb 1018 # Get HP LJ 1005 firmware file
- $ ./getweb 1020 # Get HP LJ 1020 firmware file
-
- $ ./getweb p1005 # Get HP LJ P1005 firmware file
- $ ./getweb p1006 # Get HP LJ P1006 firmware file
- $ ./getweb p1007 # Get HP LJ P1007 firmware file
- $ ./getweb p1008 # Get HP LJ P1008 firmware file
- $ ./getweb p1505 # Get HP LJ P1505 firmware file
-
- $ ./getweb all # Get everything above
-
- $ ./getweb 2300dl_fw # Get Minolta 2300DL v2.55 firmware (experts only)
-
- $ ./getweb update # Get latest version of this software.
- EOF
- exit 1
- }
-
- #
- # Report an error and exit
- #
- PROGNAME=$0
- error() {
- echo "`basename $PROGNAME`: $1" >&2
- exit 1
- }
-
- SYSTEM=`uname -s`
- WGET=`which wget`
- if [ "$SYSTEM" = Darwin -a "$WGET" = "" ]
- then
- WGETOPTS=
- wget() {
- shift
- curl -o $*
- }
- fi
-
- putfw() {
- inputname=$1
- outputname=$2
- $ARM2HPDL /usr/share/foo2zjs/tmp/$inputname > /usr/share/foo2zjs/firmware/$outputname
- rm -f /usr/share/foo2zjs/tmp/*.img
- }
-
- #
- # Download a .EXE file from the web, unzip it, and extract the
- # files we want
- getexe() {
- url="$1"
- exefile="$2"
- shift; shift
-
- wget $WGETOPTS -O $exefile "$url/$exefile" ||
- error "Couldn't download $url/$exefile"
- unzip -oj $exefile "$@"
- rm $exefile
- }
-
- #
- # Download a .tar.gz file from the web, untar it, and extract the
- # files we want
- gettgz() {
- url="$1"
- file="$2"
- what="$3"
-
- if ! [ -d /tmp/foo2zjs ] ; then
- wget $WGETOPTS -O /usr/share/foo2zjs/tmp/$file "$url/$file" ||
- error "Couldn't download $url/$file"
- cd /usr/share/foo2zjs/tmp && gunzip </usr/share/foo2zjs/tmp/$file | tar xvf - $what
- CHECK=`ls /usr/share/foo2zjs/tmp/*.icm 2>/dev/null`
- if [ -n "$CHECK" ] ; then
- mv /usr/share/foo2zjs/tmp/*.icm /usr/share/foo2zjs/icm/
- fi
- rm /usr/share/foo2zjs/tmp/$file
- fi
- }
-
- copyright() {
- echo
- echo "$1"
- echo
- }
-
- getone() {
- case "$1" in
- lj1000|1000)
- gettgz \
- http://foo2zjs.rkkda.com/firmware sihp1000.tar.gz \
- ""
- #echo "provided"
- #getexe \
- #ftp://ftp.hp.com/pub/softlib/software1/lj1488/lj-1145-2 \
- #lj1488en.exe \
- #sihp1000.img
- copyright "(c) Copyright Hewlett-Packard 2001"
- putfw sihp1000.img sihp1000.dl
- ;;
- lj1005|1005)
- gettgz \
- http://foo2zjs.rkkda.com/firmware sihp1005.tar.gz \
- ""
- #echo "provided"
- #getexe \
- #ftp://ftp.hp.com/pub/softlib/software2/COL2222/lj-10067-2 \
- #lj1005hostbased-en.exe \
- #sihp1005.img
- copyright "(c) Copyright Hewlett-Packard 2002"
- putfw sihp1005.img sihp1005.dl
- ;;
- lj1018|1018)
- gettgz \
- http://foo2zjs.rkkda.com/firmware sihp1018.tar.gz \
- ""
- copyright "(c) Copyright Hewlett-Packard 2005"
- putfw sihp1018.img sihp1018.dl
- ;;
- lj1020|1020)
- gettgz \
- http://foo2zjs.rkkda.com/firmware sihp1020.tar.gz \
- ""
- copyright "(c) Copyright Hewlett-Packard 2005"
- putfw sihp1020.img sihp1020.dl
- ;;
- [pP]100[57])
- gettgz \
- http://foo2zjs.rkkda.com/firmware sihpP1005.tar.gz \
- ""
- copyright "(c) Copyright Hewlett-Packard 2008"
- putfw sihpP1005.img sihpP1005.dl
- ;;
- [pP]100[68])
- gettgz \
- http://foo2zjs.rkkda.com/firmware sihpP1006.tar.gz \
- ""
- copyright "(c) Copyright Hewlett-Packard 2008"
- ;;
- [pP]1505)
- gettgz \
- http://foo2zjs.rkkda.com/firmware sihpP1505.tar.gz \
- ""
- copyright "(c) Copyright Hewlett-Packard 2008"
- ;;
- 2200dl|2200)
- if false; then
- gettgz \
- http://foo2zjs.rkkda.com/icm dl2300.tar.gz \
- ""
- else
- getexe \
- http://printer.konicaminolta.net/drivers/win2000 m22dlicc.exe \
- "*.icm"
- fi
- copyright "(c) Copyright Minolta-QMS 1999"
- putfw sihp1020.img sihp1020.dl
- ;;
- 2300dl|2300)
- if false; then
- gettgz \
- http://foo2zjs.rkkda.com/icm dl2300.tar.gz \
- ""
- else
- getexe \
- http://printer.konicaminolta.net/drivers/other m23dlicc.exe \
- "*.icm"
- fi
- gettgz \
- http://foo2zjs.rkkda.com/icm km2430.tar.gz \
- ""
- copyright "(c) Copyright Minolta-QMS 2001"
- ;;
- 2300dl_fw)
- # 2300DL firmware upgrade to v2.55
- BASE="http://crm01.minoltaeurope.com"
- BASE="$BASE/openmind/technic/swfw/mswprtdl.nsf/logdwl"
- FILE="MC2300DL_v255.zip"
- URL="$BASE?openagent&4CE486C20839C75AC1256D9E001EBD1F/\$File/$FILE"
- wget $WGETOPTS "$URL" || error "Couldn't download $URL"
- echo "*** Now use a windows box to unzip and install $FILE ***"
- ;;
- cpwl|pageworks)
- if true; then
- gettgz \
- http://foo2zjs.rkkda.com/icm dl2300.tar.gz \
- ""
- else
- getexe \
- ftp://ftp.minolta-qms.com/pub/crc/out_going/windows cpplxp.exe \
- "*.IC_"
- for i in C*.IC_
- do
- base=`basename $i .IC_`
- mv $base.IC_ $base.ic_
- ./msexpand $base.ic_
- rm -f $base.ic_
- done
- fi
- copyright "(c) Copyright Minolta-QMS 1998"
- ;;
- 2430)
- gettgz \
- http://foo2zjs.rkkda.com/icm km2430.tar.gz \
- ""
- copyright "(c) Copyright Konica Minolta 2003"
- ;;
- 2530|2490|6115|2480|1600w|1680|1690|4690)
- gettgz \
- http://foo2lava.rkkda.com/icm km2530.tar.gz \
- ""
- copyright "(c) Copyright Konica Minolta 2005"
- copyright "(c) Copyright Rick Richardson 2007. All Rights Reserved"
- gettgz \
- http://foo2lava.rkkda.com/icm km-1600.tar.gz \
- ""
- copyright "(c) Copyright Rick Richardson 2009. All Rights Reserved"
- ;;
- 1215|1500|1600|2600*)
- gettgz \
- http://foo2hp.rkkda.com/icm hpclj2600n.tar.gz \
- ""
- gettgz \
- http://foo2zjs.rkkda.com/icm km2430.tar.gz \
- "km2430_2.icm"
- copyright "(c) Copyright Hewlett-Packard 2003"
- copyright "(c) Copyright Rick Richardson 2006. All Rights Reserved"
- gettgz \
- http://foo2hp.rkkda.com/icm hp1215.tar.gz \
- ""
- copyright "(c) Copyright Rick Richardson 2008. All Rights Reserved"
- ;;
- 300|310|315|2160|3160|3175|6110)
- gettgz \
- http://foo2qpdl.rkkda.com/icm samclp300.tar.gz \
- ""
- copyright "(c) Copyright Rick Richardson 2007. All Rights Reserved"
- gettgz \
- http://foo2qpdl.rkkda.com/icm samclp315.tar.gz \
- ""
- copyright "(c) Copyright Rick Richardson 2008. All Rights Reserved"
- ;;
- 600|610)
- ;;
-
- 500)
- gettgz \
- http://foo2slx.rkkda.com/icm lexc500.tar.gz \
- ""
- copyright "(c) Copyright Lexmark 2006"
- ;;
-
- oki)
- echo "Please wait, ~20MB is being downloaded from a slow site..."
- getexe \
- http://www.okiprintingsolutions.at/binaryData/16516/ \
- ICCProfiles.zip \
- "*OK3200*ICM" "*OK5600*ICM" "*rom732*7.zip"
- unzip -oj *rom732*7.zip "*C3400*ICM"
- rm -f *rom732*7.zip
- for i in OK*ICM C3400*ICM; do
- base=`basename $i .ICM`
- mv "$base.ICM" "$base.icm"
- done
- copyright "(c) Copyright Okidata 2005, 2006"
- ;;
- 3100|3200|5100|5150|5200|5250)
- gettgz \
- http://foo2hiperc.rkkda.com/icm okic3200.tar.gz \
- ""
- copyright "(c) Copyright Okidata 2005"
- ;;
- 3300|3400|3530)
- gettgz \
- http://foo2hiperc.rkkda.com/icm okic3400.tar.gz \
- ""
- copyright "(c) Copyright Okidata 2006"
- ;;
- 5500|5600|5800)
- gettgz \
- http://foo2hiperc.rkkda.com/icm okic5600.tar.gz \
- ""
- copyright "(c) Copyright Okidata 2006"
- ;;
-
- xPPD)
- # Snarf PPD files from linuxprinting
- [ -d PPD ] || mkdir PPD
- for i in foomatic-db/printer/*.xml
- do
- case "$i" in
- */Gen*) continue;;
- esac
- printer=`basename $i .xml`
- echo $printer
- case "$printer" in
- *1500*|*oak*) driver=foo2oak;;
- *) driver=foo2zjs;;
- esac
- URL="http://www.linuxprinting.org/ppd-o-matic.cgi"
- URL="$URL?driver=$driver&printer=$printer"
- URL="$URL&.submit=Generate+PPD+file"
- URL="$URL&show=1&.cgifields=shortgui&.cgifields=show"
- wget $WGETOPTS -O PPD/$printer.ppd "$URL" ||
- error "Couldn't dowload $URL"
- done
- ;;
- ppd)
- # Generate PPD files using local tools
- [ -d PPD ] || mkdir PPD
- for i in foomatic-db/printer/*.xml
- do
- printer=`basename $i .xml`
- echo $printer
- case "$printer" in
- *M1005*|*M1120*) driver=foo2xqx;;
- *P1[05]0[56]*) driver=foo2xqx;;
- *P2014*) driver=foo2xqx;;
- *1500*|*OAKT*) driver=foo2oak;;
- *1600*|*2600*) driver=foo2hp;;
- *1215*) driver=foo2hp;;
- *2530*|*24[89]0*) driver=foo2lava;;
- *6115*) driver=foo2lava;;
- *C500*) driver=foo2slx;;
- *C3[234]00*) driver=foo2hiperc;;
- *C5[12568]00*) driver=foo2hiperc;;
- *CLP*|*CLX*|*6110*) driver=foo2qpdl;;
- *) driver=foo2zjs;;
- esac
- ENGINE=../foomatic/foomatic-db-engine
- PERL5LIB=$ENGINE/lib $ENGINE/foomatic-ppdfile \
- -d $driver -p $printer \
- > PPD/$printer.ppd
- # | sed -e 's/\(^\*NickName.*\)"/\1 (foo2zjs recommended)"/'
- done
- ;;
- update)
- url=http://foo2zjs.rkkda.com
- file=foo2zjs.tar.gz
- wget $WGETOPTS -O $file $url/$file ||
- error "Couldn't download $url/$exefile"
- mv getweb getweb.old
- HERE=`pwd`
- cd ..
- tar zxf $HERE/$file
- cd $HERE
- echo "The tarball is extracted and the current directory is up to date."
- printf "Remove the tarball (y/n)? "
- read ans
- if [ "$ans" = y ]; then
- rm -f $file
- fi
- ;;
- "")
- usage
- ;;
- *)
- error "Don't know how to get extra stuff for printer $1"
- ;;
- esac
- }
-
- if [ $# = 0 ]; then
- echo "$VERSION"
- usage
- fi
-
- for i in $*
- do
- case "$1" in
- all)
- getone 1000
- getone 1005
- getone 1018
- getone 1020
-
- getone p1005
- getone p1006
- getone p1505
-
- getone 2200
- getone 2300
- # getone 2430 already done
- # getone cpwl # file doesn't exist 1/28/08
-
- getone 2600n
- # getone 1215 # already done
-
- getone 2530
-
- getone 300
- # getone 6110 already done
- getone 600
-
- getone 500
-
- getone 3200
- getone 3400
- getone 5600
- ;;
- *)
- getone $i
- ;;
- esac
- done
-